﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 访问者模式
{
    // 访问者模式是 将数据操作、数据结构分离的设计模式

    class Program
    {
        static void Main(string[] args)
        {
            Employees e = new Employees();

            // 先把 雇员加上去
            e.Attach(new Clerk());
            e.Attach(new Director());
            e.Attach(new President());

            // 然后把 收入和放假Visitor加上去
            e.Accept(new IncomeVisitor());
            e.Accept(new VacationVisitor());
            Console.Read();
        }
    }
}
